sokwedb
3 days agoEnforce, or not, COMM_IDS.Studied on WATCHES
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 16:34:42 +0000 (16:34 +0000)]
Enforce, or not, COMM_IDS.Studied on WATCHES

3 days agoCannot be AnimID in WATCHES before being born
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 16:30:33 +0000 (16:30 +0000)]
Cannot be AnimID in WATCHES before being born

3 days agoCorrect COMM_IDS.Studied column name references
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 16:18:51 +0000 (16:18 +0000)]
Correct COMM_IDS.Studied column name references

3 days agoCheck COMM_MEMBS against birthdate only when necessary
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 15:43:27 +0000 (15:43 +0000)]
Check COMM_MEMBS against birthdate only when necessary

3 days agoCorrect error message checking ROLES.Participant against DepartDate
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 15:30:04 +0000 (15:30 +0000)]
Correct error message checking ROLES.Participant against DepartDate

3 days agoReport DepartDate in REPRO_STATES error message, not EntryDate
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 15:27:55 +0000 (15:27 +0000)]
Report DepartDate in REPRO_STATES error message, not EntryDate

3 days agoExecute REPRO_STATES.Date v.s. DepartDate check only when necessary
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 15:25:46 +0000 (15:25 +0000)]
Execute REPRO_STATES.Date v.s. DepartDate check only when necessary

3 days agoFix check of femaleness regards REPRO_STATES
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 15:24:27 +0000 (15:24 +0000)]
Fix check of femaleness regards REPRO_STATES

3 days agoReport DepartDate in error message when checking against DepartDate
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 15:22:46 +0000 (15:22 +0000)]
Report DepartDate in error message when checking against DepartDate

3 days agoExecute SWELLING_SOURCES v.s. EntryDate check only when necessary
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 15:20:43 +0000 (15:20 +0000)]
Execute SWELLING_SOURCES v.s. EntryDate check only when necessary

3 days agoCorrect comment to match code
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 15:17:08 +0000 (15:17 +0000)]
Correct comment to match code

3 days agoFix check that requires only females be on SWELLING_SOURCES
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 15:15:18 +0000 (15:15 +0000)]
Fix check that requires only females be on SWELLING_SOURCES

3 days agoImprove error message
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 15:14:27 +0000 (15:14 +0000)]
Improve error message

3 days agoExecute WATCHES.Date v.s. EntryDate check only when necessary
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 15:13:14 +0000 (15:13 +0000)]
Execute WATCHES.Date v.s. EntryDate check only when necessary

3 days agoUse DepartDate, not EntryDate, when checking community departure
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 15:10:26 +0000 (15:10 +0000)]
Use DepartDate, not EntryDate, when checking community departure

3 days agoFix typo in column name in trigger code
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 14:53:42 +0000 (14:53 +0000)]
Fix typo in column name in trigger code

3 days agoExecute community v.s. entrydate check only when necessary
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 14:38:17 +0000 (14:38 +0000)]
Execute community v.s. entrydate check only when necessary

3 days agoDocument that CommID on the event detail tables are not 100% validated
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 14:29:18 +0000 (14:29 +0000)]
Document that CommID on the event detail tables are not 100% validated

3 days agoCorrect RST section underline length
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 14:24:08 +0000 (14:24 +0000)]
Correct RST section underline length

3 days agoAdd COMM_IDS.Studied column
Karl O. Pinc kop@karlpinc.com [Thu, 13 Aug 2026 13:53:36 +0000 (13:53 +0000)]
Add COMM_IDS.Studied column

3 days agoBetter explain why COMM_MEMBS might be incorporated into SIGHTINGS
Karl O. Pinc kop@karlpinc.com [Wed, 12 Aug 2026 17:17:10 +0000 (17:17 +0000)]
Better explain why COMM_MEMBS might be incorporated into SIGHTINGS

It would be even better to rename SIGHTINGS to MEMBERS, and have it
show community membership.  The build_sightings() function would be
renamed build_members().  And SIGHTINGS would then be a view of
MEMBERS, excluding the rows that exist in MEMBERS only because of
COMM_MEMBS.

But this probably also requires that build_members() always look at
COMM_MEMBS, last.  And have some sort of special Step value.
Otherwise we wouldn't know what MEMBERS.Step value to exclude when
constructing the SIGHTINGS view.

All this is, at present, not the best use of our available time.

3 days agoAlways use the WATCHES.CommID when constructing SIGHTINGS from EVENTS
Karl O. Pinc kop@karlpinc.com [Wed, 12 Aug 2026 17:16:17 +0000 (17:16 +0000)]
Always use the WATCHES.CommID when constructing SIGHTINGS from EVENTS

3 days agoChange column name: ARRIVALS.Cycle -> ARRIVALS.Swelling
Karl O. Pinc kop@karlpinc.com [Tue, 11 Aug 2026 22:05:20 +0000 (22:05 +0000)]
Change column name: ARRIVALS.Cycle -> ARRIVALS.Swelling

3 days agodocs: distinguish unknown and no-focal observations
Stevan Earl [Tue, 11 Aug 2026 23:25:19 +0000 (16:25 -0700)]
docs: distinguish unknown and no-focal observations

3 days agoconversion: use NONE for A-record groom scans
Stevan Earl [Tue, 11 Aug 2026 23:18:43 +0000 (16:18 -0700)]
conversion: use NONE for A-record groom scans

3 days agoschema: prohibit NONE on location watches
Stevan Earl [Tue, 11 Aug 2026 22:54:22 +0000 (15:54 -0700)]
schema: prohibit NONE on location watches

3 days agoschema: reserve NONE for WATCHES AnimIDs
Stevan Earl [Tue, 11 Aug 2026 22:34:31 +0000 (15:34 -0700)]
schema: reserve NONE for WATCHES AnimIDs

4 days agofeat: define the NONE no-focal AnimID
Stevan Earl [Tue, 11 Aug 2026 22:32:42 +0000 (15:32 -0700)]
feat: define the NONE no-focal AnimID

4 days agodocs: correct BIOGRAPHY_DATA AnimID grammar
Stevan Earl [Tue, 11 Aug 2026 22:31:27 +0000 (15:31 -0700)]
docs: correct BIOGRAPHY_DATA AnimID grammar

6 days agofix: corrected trigger wording from follow to event since this applies to AGSCAN...
Stevan Earl [Wed, 5 Aug 2026 23:37:14 +0000 (16:37 -0700)]
fix: corrected trigger wording from follow to event since this applies to AGSCAN and other events not only follows

(cherry picked from commit 587e15969264727c4d7a810bff56e364539a6423)

6 days agofix: corrected trigger diagnostic in roles.m4 including the incorrect displayed date
Stevan Earl [Wed, 5 Aug 2026 23:23:33 +0000 (16:23 -0700)]
fix: corrected trigger diagnostic in roles.m4 including the incorrect displayed date

(cherry picked from commit fcfaccadf080504ce6013a8e8f1af879128be754)

6 days agobuild: add A-record groom-scan load target
Stevan Earl [Mon, 10 Aug 2026 01:21:09 +0000 (18:21 -0700)]
build: add A-record groom-scan load target

Split from grm_scan commit fcdd838.

6 days agofeat: add A-record groom-scan conversion loader
Stevan Earl [Mon, 10 Aug 2026 01:20:59 +0000 (18:20 -0700)]
feat: add A-record groom-scan conversion loader

Split from grm_scan commit fcdd838.

6 days agofix: allow groom-scan events on A-record watches
Stevan Earl [Mon, 10 Aug 2026 01:20:59 +0000 (18:20 -0700)]
fix: allow groom-scan events on A-record watches

Split from grm_scan commit fcdd838.

6 days agobuild: add B-record groom-scan load target
Stevan Earl [Mon, 10 Aug 2026 01:20:49 +0000 (18:20 -0700)]
build: add B-record groom-scan load target

Split from grm_scan commit 36b5c5d.

6 days agofeat: add B-record groom-scan conversion loader
Stevan Earl [Mon, 10 Aug 2026 01:13:18 +0000 (18:13 -0700)]
feat: add B-record groom-scan conversion loader

Split from grm_scan commit 36b5c5d. The GS_comments NULL-to-empty conversion is performed in clean.sql.

6 days agofeat: add groom-scan role codes
Stevan Earl [Mon, 10 Aug 2026 01:09:05 +0000 (18:09 -0700)]
feat: add groom-scan role codes

Split from grm_scan commit 36b5c5d.

6 days agofix: normalize missing groom-scan comments in clean
Stevan Earl [Mon, 10 Aug 2026 01:08:00 +0000 (18:08 -0700)]
fix: normalize missing groom-scan comments in clean

10 days agoImplement build_sightings()
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 21:26:28 +0000 (21:26 +0000)]
Implement build_sightings()

10 days agoAlphabetize
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 19:45:13 +0000 (19:45 +0000)]
Alphabetize

10 days agoCorrect cut-and-paste error in comment
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 18:31:27 +0000 (18:31 +0000)]
Correct cut-and-paste error in comment

10 days agoDrop the COMMUNITY_MEMBERSHIP_UPDATE_LOG table in favor of COMM_MEMB_LOG
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 17:14:32 +0000 (17:14 +0000)]
Drop the COMMUNITY_MEMBERSHIP_UPDATE_LOG table in favor of COMM_MEMB_LOG

10 days agoMove comm_memb_log from sokwedb schema to housekeeping
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 17:09:50 +0000 (17:09 +0000)]
Move comm_memb_log from sokwedb schema to housekeeping

10 days agoAdd example query to LOCATIONS_UTM doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 16:55:50 +0000 (16:55 +0000)]
Add example query to LOCATIONS_UTM doc

10 days agoAdd example query to LOCATIONS_PAPER doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 16:46:46 +0000 (16:46 +0000)]
Add example query to LOCATIONS_PAPER doc

10 days agoAdd example query to SPECIES_PRESENT doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 16:24:05 +0000 (16:24 +0000)]
Add example query to SPECIES_PRESENT doc

10 days agoAdd example query to MATINGS doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 16:22:50 +0000 (16:22 +0000)]
Add example query to MATINGS doc

10 days agoAdd example query to GROOMINGS doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 16:12:28 +0000 (16:12 +0000)]
Add example query to GROOMINGS doc

10 days agoAdd example query to HUMANS doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 16:09:16 +0000 (16:09 +0000)]
Add example query to HUMANS doc

10 days agoAdd example query to GROOM_SCANS_B doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 15:51:41 +0000 (15:51 +0000)]
Add example query to GROOM_SCANS_B doc

10 days agoAdd example query of A-Record groom scans to EVENTS doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 15:09:20 +0000 (15:09 +0000)]
Add example query of A-Record groom scans to EVENTS doc

10 days agoAdd example query to FOOD_EVENTS doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 14:59:43 +0000 (14:59 +0000)]
Add example query to FOOD_EVENTS doc

10 days agoAdd example query to COLOBUS doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 14:46:46 +0000 (14:46 +0000)]
Add example query to COLOBUS doc

10 days agoAdd example query to ARRIVALS_A doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 14:36:00 +0000 (14:36 +0000)]
Add example query to ARRIVALS_A doc

10 days agoAdd example query to ARRIVALS doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 14:09:43 +0000 (14:09 +0000)]
Add example query to ARRIVALS doc

10 days agoAdd example query to AGGRESSIONS doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 13:55:27 +0000 (13:55 +0000)]
Add example query to AGGRESSIONS doc

10 days agoFix to allow colobus event behaviors
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 22:02:05 +0000 (22:02 +0000)]
Fix to allow colobus event behaviors

10 days agoReference build_sightings() in SIGHTING_CONTROL docs
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 20:19:54 +0000 (20:19 +0000)]
Reference build_sightings() in SIGHTING_CONTROL docs

10 days agoLink SIGHTINGS.Step docs to SIGHTINGS and build_sightings()
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 20:04:39 +0000 (20:04 +0000)]
Link SIGHTINGS.Step docs to SIGHTINGS and build_sightings()

10 days agoDocument build_sightings()
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 20:14:24 +0000 (20:14 +0000)]
Document build_sightings()

11 days agoMove docs involving column interactions to bottom of summary section
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 20:03:25 +0000 (20:03 +0000)]
Move docs involving column interactions to bottom of summary section

11 days agoClarify the utility in running build_swelling_states() on non-females
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 18:21:46 +0000 (18:21 +0000)]
Clarify the utility in running build_swelling_states() on non-females

11 days agoAdd example query showing sighting sources
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 18:13:35 +0000 (18:13 +0000)]
Add example query showing sighting sources

11 days agoChange column name SIGHTINGS.Source -> SIGHTINGS.Step
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:53:11 +0000 (17:53 +0000)]
Change column name SIGHTINGS.Source -> SIGHTINGS.Step

11 days agoWith SIGHTING_SOURCES, SIGHTING_RECORDS.Priority does not affect sightings
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:51:35 +0000 (17:51 +0000)]
With SIGHTING_SOURCES, SIGHTING_RECORDS.Priority does not affect sightings

11 days agoAdd SIGHTING_CONTROLS table, document, etc.
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:49:23 +0000 (17:49 +0000)]
Add SIGHTING_CONTROLS table, document, etc.

11 days agoClarify that SIGHTING_RECORDS.Priority is used only for swelling
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:42:29 +0000 (17:42 +0000)]
Clarify that SIGHTING_RECORDS.Priority is used only for swelling

11 days agoDocument where special SIGHTING_RECORDS codes cannot be used
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:31:35 +0000 (17:31 +0000)]
Document where special SIGHTING_RECORDS codes cannot be used

11 days agoPrevent use of special swelling source values in NON_BREC_SIGHTING_SOURCES
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:30:06 +0000 (17:30 +0000)]
Prevent use of special swelling source values in NON_BREC_SIGHTING_SOURCES

11 days agoFix so some special SIGHTING_RECORDS rows need not exist
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:20:34 +0000 (17:20 +0000)]
Fix so some special SIGHTING_RECORDS rows need not exist

11 days agoLoad (some) SIGHTING_RECORDS during conversion
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:16:26 +0000 (17:16 +0000)]
Load (some) SIGHTING_RECORDS during conversion

11 days agoReplace SIGHTING_RECORDS SOKWEDB special value with per-table values
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:15:27 +0000 (17:15 +0000)]
Replace SIGHTING_RECORDS SOKWEDB special value with per-table values

11 days agoEnforce non-negative SIGHTING_RECORDS.Priority
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:01:17 +0000 (17:01 +0000)]
Enforce non-negative SIGHTING_RECORDS.Priority

11 days agoChange so adolesent swelling is properly included in SWELLING_STATES
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 00:02:53 +0000 (00:02 +0000)]
Change so adolesent swelling is properly included in SWELLING_STATES

11 days agoRequire the SIGHTING_RECORDS "MANUAL" code have a Priority of 0
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 00:00:38 +0000 (00:00 +0000)]
Require the SIGHTING_RECORDS "MANUAL" code have a Priority of 0

11 days agoAdd an anchor for the "codes" schema
Karl O. Pinc kop@karlpinc.com [Mon, 3 Aug 2026 23:53:54 +0000 (23:53 +0000)]
Add an anchor for the "codes" schema

11 days agoAlphabetize
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 21:48:38 +0000 (21:48 +0000)]
Alphabetize

11 days agoRemove ATTENDANCE table from diagram
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 21:30:11 +0000 (21:30 +0000)]
Remove ATTENDANCE table from diagram

11 days agoFix privleges of SIGHTINGS
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 21:17:18 +0000 (21:17 +0000)]
Fix privleges of SIGHTINGS

11 days agoCorrect the privileges of SWELLING_STATES
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 21:13:50 +0000 (21:13 +0000)]
Correct the privileges of SWELLING_STATES

11 days agoUpdate copyright
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 21:09:17 +0000 (21:09 +0000)]
Update copyright

11 days agoFix grammer in error message
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 21:03:57 +0000 (21:03 +0000)]
Fix grammer in error message

11 days agofix: normalize blank biography maternal IDs (Problem #104)
Stevan Earl [Tue, 4 Aug 2026 19:55:18 +0000 (12:55 -0700)]
fix: normalize blank biography maternal IDs (Problem #104)

11 days agofix: normalize blank biography birth groups (Problem #103)
Stevan Earl [Tue, 4 Aug 2026 19:54:56 +0000 (12:54 -0700)]
fix: normalize blank biography birth groups (Problem #103)

2 weeks agoSWELLING_SOURCES min swelling cannot exceed the max swelling
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 18:43:46 +0000 (18:43 +0000)]
SWELLING_SOURCES min swelling cannot exceed the max swelling

2 weeks agoSWELLING_SOURCES can only use CYCLE_STATES where SSRank is not NULL
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 17:49:24 +0000 (17:49 +0000)]
SWELLING_SOURCES can only use CYCLE_STATES where SSRank is not NULL

2 weeks agoFix formatting of error message
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 17:28:36 +0000 (17:28 +0000)]
Fix formatting of error message

2 weeks agoChange build_swelling_states() so that it uses CYCLE_STATES.SSRank
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 16:54:41 +0000 (16:54 +0000)]
Change build_swelling_states() so that it uses CYCLE_STATES.SSRank

2 weeks agoAdd the CYCLE_STATES.SSRank column
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 16:36:13 +0000 (16:36 +0000)]
Add the CYCLE_STATES.SSRank column

2 weeks agoAdd nullunique substitution; for unique except for NULL values
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 16:25:20 +0000 (16:25 +0000)]
Add nullunique substitution; for unique except for NULL values

2 weeks agoFix build_swelling_states() to remove data on former females
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 15:37:55 +0000 (15:37 +0000)]
Fix build_swelling_states() to remove data on former females

2 weeks agoAdd a "Return Value" section
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 01:24:31 +0000 (01:24 +0000)]
Add a "Return Value" section

2 weeks agoCreate and document build_swelling_states() function
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 01:20:20 +0000 (01:20 +0000)]
Create and document build_swelling_states() function

2 weeks agoUse better macro name: sdb_manual_swelling -> sdb_manual_source
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 01:04:11 +0000 (01:04 +0000)]
Use better macro name: sdb_manual_swelling -> sdb_manual_source

2 weeks agoRemove comments leftover from cut-and-paste
Karl O. Pinc kop@karlpinc.com [Thu, 30 Jul 2026 21:24:06 +0000 (21:24 +0000)]
Remove comments leftover from cut-and-paste

2 weeks agoAdd the columns YKAge and YKID to REPRO_STATES
Karl O. Pinc kop@karlpinc.com [Thu, 30 Jul 2026 17:07:09 +0000 (17:07 +0000)]
Add the columns YKAge and YKID to REPRO_STATES

2 weeks agoImprove sentence
Karl O. Pinc kop@karlpinc.com [Tue, 28 Jul 2026 22:33:09 +0000 (22:33 +0000)]
Improve sentence

2 weeks agoMake reference to useful views in each table's docs
Karl O. Pinc kop@karlpinc.com [Tue, 28 Jul 2026 22:12:12 +0000 (22:12 +0000)]
Make reference to useful views in each table's docs

2 weeks agoExplain how to manually modifiy the content of SIGHTINGS
Karl O. Pinc kop@karlpinc.com [Tue, 28 Jul 2026 20:56:10 +0000 (20:56 +0000)]
Explain how to manually modifiy the content of SIGHTINGS

2 weeks agoSpelling
Karl O. Pinc kop@karlpinc.com [Tue, 28 Jul 2026 20:20:06 +0000 (20:20 +0000)]
Spelling